enh: add IGNORE_PERMISSIONS and hot restart to local development docker - #833
enh: add IGNORE_PERMISSIONS and hot restart to local development docker#833almeidaraul wants to merge 5 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the local dev Docker configuration to run the Flutter frontend via flutter run (for live development), while also setting a default IGNORE_PERMISSIONS list for the backend in docker-compose.yml and adjusting the docker-compose CI smoke test to accommodate the Flutter dev server.
Changes:
- Add a dedicated Flutter dev image (
frontend/Dockerfile.dev) and entrypoint (frontend/dev_entrypoint.sh) intended to support live iteration. - Switch
docker-compose.ymlto build/run the frontend using the new dev Dockerfile, add bind mounts, and add a frontend healthcheck. - Update backend default SAML IdP metadata URL port and adjust the docker-compose workflow frontend smoke test to use GET instead of HEAD.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/Dockerfile.dev | Adds a development Docker image for running Flutter web via flutter run. |
| frontend/dev_entrypoint.sh | Adds a dev entrypoint that runs build_runner and starts the Flutter dev server. |
| docker-compose.yml | Switches frontend service to the dev image, adds mounts/healthcheck, and sets backend IGNORE_PERMISSIONS by default. |
| backend/test_observer/common/config.py | Changes the default SAML IdP metadata URL port. |
| .github/workflows/test_docker_compose.yml | Updates the frontend smoke test to use GET (Flutter dev server responds 404 to HEAD). |
| REQUIRE_AUTHENTICATION: "${REQUIRE_AUTHENTICATION:-false}" | ||
| IGNORE_PERMISSIONS: "${IGNORE_PERMISSIONS:-view_user,change_user,view_team,change_team,add_application,change_application,view_application,view_permission,view_issue,change_issue,change_issue_attachment,change_issue_attachment_bulk,change_attachment_rule,change_auto_rerun,view_test,change_test,view_rerun,change_rerun,change_rerun_bulk,view_artefact,change_artefact,view_environment_review,change_environment_review,view_report,view_test_case_reported_issue,change_test_case_reported_issue,view_environment_reported_issue,change_environment_reported_issue,view_notification,change_notification}" | ||
| USE_LOCAL_LOGIN: "${USE_LOCAL_LOGIN:-true}" |
There was a problem hiding this comment.
the idea is to make local development easier, you can disable that if you want to test authorization
There was a problem hiding this comment.
we can have different profiles in docker compose.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
frontend/Dockerfile.dev:49
- The comment suggests the container will work without the runtime bind-mount, but this Dockerfile only copies pubspec.* and the entrypoint; without mounting the source tree at /app,
flutter runwill fail. Clarify the comment (or copy the source as a fallback) to avoid misleading developers.
# Copy the entrypoint into the image so it works even without the runtime
# bind-mount, and invoke it via `bash` so it doesn't depend on the executable
# bit being preserved. In docker-compose the bind-mount overrides this copy
# with the live host version.
Description
This PR adds hot restart to the dev docker config for the frontend. It also configures IGNORE_PERMISSIONS on the backend
Resolved issues
Documentation
Web service API changes
Tests